Generally, encoding means a data processing procedure of a transmitter to allow a receiver to recover original data in spite of any error caused by distortion, loss, etc. of a signal, which are generated when the transmitter transmits data through a communication channel. Decoding means that the receiver recovers the signal, which is encoded and transmitted from the transmitter, to original data.
Recently, a method of encoding data using LDPC code has been highlighted. As most of elements of a parity check matrix H are 0, the LDPC code has been suggested as a linear block code of low density by Gallager in 1962. The LDPC code could not have been implemented by hardware technique at that time due to its complexity. Although the LDPC code has not attracted attention at that time, its excellent performance of the LDPC code has been approved in 1995. Thus, studies of the LDPC code have been actively made since 1995. (References: [1] Robert G. Gallager, “Low-Density Parity-Check Codes”, The MIT Press, Sep. 15, 1963, [2] D. J. C. Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp. 399-431 (1999))
Since a parity check matrix of the LDPC code has a very small number of elements of 1, decoding can be performed through repetitive decoding even in a very great block size, whereby its performance is approximate to channel capacity limitation of Shannon like turbo code if the block size becomes very great.
The LDPC code can be explained by a parity check matrix H of (n−k)×n. A generator matrix G corresponding to the parity check matrix H can be obtained by the following equation 1.H·G=0  [Equation 1]
In the method of encoding and decoding using LDPC code, the transmitter encodes input data using the generator matrix G in accordance with the following equation 2, wherein the generator matrix G has a relation of equation 1 with the parity check matrix H.c=·u (wherein, c is a codeword and u is a data frame)  [Equation 2]
As aforementioned, the method of encoding using LDPC code, the parity check matrix H can be regarded as the most important factor. Since the parity check matrix H has a size of 1000×2000 approximately, it requires several operation procedures in the encoding and decoding procedures, its realization is very complicate, and many memory areas are required.
Generally, since adding more weights to the parity check matrix H means that adding more parameters to the parity check equations, better performance can be obtained in the method of encoding and decoding using LDPC code. In this case, weight means the number of elements ‘1’ included in each column or row in the parity check matrix. However, if more weights are added to the parity check matrix H, it is likely to form 4-cycle or 6-cycle in the parity check matrix. In this case, a possibility of danger arises in that complexity in the encoding and decoding procedures using LDPC code may increase and performance may be deteriorated.
The 4-cycle means the case where two rows of the parity check matrix H simultaneously have 1 at two parts, and the 6-cycle means that two rows selected from random three rows have 1 at a single part. When most part of the parity check matrix has 4-cycle or 6-cycle, it means that encoding or decoding performance is likely to be deteriorated.